package com.youoor.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UserCardQuery {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserCardQuery() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCardIdIsNull() {
            addCriterion("cardId is null");
            return (Criteria) this;
        }

        public Criteria andCardIdIsNotNull() {
            addCriterion("cardId is not null");
            return (Criteria) this;
        }

        public Criteria andCardIdEqualTo(Integer value) {
            addCriterion("cardId =", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdNotEqualTo(Integer value) {
            addCriterion("cardId <>", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdGreaterThan(Integer value) {
            addCriterion("cardId >", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("cardId >=", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdLessThan(Integer value) {
            addCriterion("cardId <", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdLessThanOrEqualTo(Integer value) {
            addCriterion("cardId <=", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdIn(List<Integer> values) {
            addCriterion("cardId in", values, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdNotIn(List<Integer> values) {
            addCriterion("cardId not in", values, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdBetween(Integer value1, Integer value2) {
            addCriterion("cardId between", value1, value2, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdNotBetween(Integer value1, Integer value2) {
            addCriterion("cardId not between", value1, value2, "cardId");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("userId is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("userId is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Integer value) {
            addCriterion("userId =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Integer value) {
            addCriterion("userId <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Integer value) {
            addCriterion("userId >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("userId >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Integer value) {
            addCriterion("userId <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("userId <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Integer> values) {
            addCriterion("userId in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Integer> values) {
            addCriterion("userId not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Integer value1, Integer value2) {
            addCriterion("userId between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("userId not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andHobbyIsNull() {
            addCriterion("hobby is null");
            return (Criteria) this;
        }

        public Criteria andHobbyIsNotNull() {
            addCriterion("hobby is not null");
            return (Criteria) this;
        }

        public Criteria andHobbyEqualTo(String value) {
            addCriterion("hobby =", value, "hobby");
            return (Criteria) this;
        }

        public Criteria andHobbyNotEqualTo(String value) {
            addCriterion("hobby <>", value, "hobby");
            return (Criteria) this;
        }

        public Criteria andHobbyGreaterThan(String value) {
            addCriterion("hobby >", value, "hobby");
            return (Criteria) this;
        }

        public Criteria andHobbyGreaterThanOrEqualTo(String value) {
            addCriterion("hobby >=", value, "hobby");
            return (Criteria) this;
        }

        public Criteria andHobbyLessThan(String value) {
            addCriterion("hobby <", value, "hobby");
            return (Criteria) this;
        }

        public Criteria andHobbyLessThanOrEqualTo(String value) {
            addCriterion("hobby <=", value, "hobby");
            return (Criteria) this;
        }

        public Criteria andHobbyLike(String value) {
            addCriterion("hobby like", value, "hobby");
            return (Criteria) this;
        }

        public Criteria andHobbyNotLike(String value) {
            addCriterion("hobby not like", value, "hobby");
            return (Criteria) this;
        }

        public Criteria andHobbyIn(List<String> values) {
            addCriterion("hobby in", values, "hobby");
            return (Criteria) this;
        }

        public Criteria andHobbyNotIn(List<String> values) {
            addCriterion("hobby not in", values, "hobby");
            return (Criteria) this;
        }

        public Criteria andHobbyBetween(String value1, String value2) {
            addCriterion("hobby between", value1, value2, "hobby");
            return (Criteria) this;
        }

        public Criteria andHobbyNotBetween(String value1, String value2) {
            addCriterion("hobby not between", value1, value2, "hobby");
            return (Criteria) this;
        }
        
        public Criteria andOccupationIsNull() {
            addCriterion("occupation is null");
            return (Criteria) this;
        }

        public Criteria andOccupationIsNotNull() {
            addCriterion("occupation is not null");
            return (Criteria) this;
        }

        public Criteria andOccupationEqualTo(String value) {
            addCriterion("occupation =", value, "occupation");
            return (Criteria) this;
        }

        public Criteria andOccupationNotEqualTo(String value) {
            addCriterion("occupation <>", value, "occupation");
            return (Criteria) this;
        }

        public Criteria andOccupationGreaterThan(String value) {
            addCriterion("occupation >", value, "occupation");
            return (Criteria) this;
        }

        public Criteria andOccupationGreaterThanOrEqualTo(String value) {
            addCriterion("occupation >=", value, "occupation");
            return (Criteria) this;
        }

        public Criteria andOccupationLessThan(String value) {
            addCriterion("occupation <", value, "occupation");
            return (Criteria) this;
        }

        public Criteria andOccupationLessThanOrEqualTo(String value) {
            addCriterion("occupation <=", value, "occupation");
            return (Criteria) this;
        }

        public Criteria andOccupationLike(String value) {
            addCriterion("occupation like", value, "occupation");
            return (Criteria) this;
        }

        public Criteria andOccupationNotLike(String value) {
            addCriterion("occupation not like", value, "occupation");
            return (Criteria) this;
        }

        public Criteria andOccupationIn(List<String> values) {
            addCriterion("occupation in", values, "occupation");
            return (Criteria) this;
        }

        public Criteria andOccupationNotIn(List<String> values) {
            addCriterion("occupation not in", values, "occupation");
            return (Criteria) this;
        }

        public Criteria andOccupationBetween(String value1, String value2) {
            addCriterion("occupation between", value1, value2, "occupation");
            return (Criteria) this;
        }

        public Criteria andOccupationNotBetween(String value1, String value2) {
            addCriterion("occupation not between", value1, value2, "occupation");
            return (Criteria) this;
        }

        public Criteria andLocationIsNull() {
            addCriterion("location is null");
            return (Criteria) this;
        }

        public Criteria andLocationIsNotNull() {
            addCriterion("location is not null");
            return (Criteria) this;
        }

        public Criteria andLocationEqualTo(String value) {
            addCriterion("location =", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationNotEqualTo(String value) {
            addCriterion("location <>", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationGreaterThan(String value) {
            addCriterion("location >", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationGreaterThanOrEqualTo(String value) {
            addCriterion("location >=", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationLessThan(String value) {
            addCriterion("location <", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationLessThanOrEqualTo(String value) {
            addCriterion("location <=", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationLike(String value) {
            addCriterion("location like", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationNotLike(String value) {
            addCriterion("location not like", value, "location");
            return (Criteria) this;
        }

        public Criteria andLocationIn(List<String> values) {
            addCriterion("location in", values, "location");
            return (Criteria) this;
        }

        public Criteria andLocationNotIn(List<String> values) {
            addCriterion("location not in", values, "location");
            return (Criteria) this;
        }

        public Criteria andLocationBetween(String value1, String value2) {
            addCriterion("location between", value1, value2, "location");
            return (Criteria) this;
        }

        public Criteria andLocationNotBetween(String value1, String value2) {
            addCriterion("location not between", value1, value2, "location");
            return (Criteria) this;
        }
        
        
        //
        public Criteria andBackgroundIsNull() {
            addCriterion("background is null");
            return (Criteria) this;
        }

        public Criteria andBackgroundIsNotNull() {
            addCriterion("background is not null");
            return (Criteria) this;
        }

        public Criteria andBackgroundEqualTo(String value) {
            addCriterion("background =", value, "background");
            return (Criteria) this;
        }

        public Criteria andBackgroundNotEqualTo(String value) {
            addCriterion("background <>", value, "background");
            return (Criteria) this;
        }

        public Criteria andBackgroundGreaterThan(String value) {
            addCriterion("background >", value, "background");
            return (Criteria) this;
        }

        public Criteria andBackgroundGreaterThanOrEqualTo(String value) {
            addCriterion("background >=", value, "background");
            return (Criteria) this;
        }

        public Criteria andBackgroundLessThan(String value) {
            addCriterion("background <", value, "background");
            return (Criteria) this;
        }

        public Criteria andBackgroundLessThanOrEqualTo(String value) {
            addCriterion("background <=", value, "background");
            return (Criteria) this;
        }

        public Criteria andBackgroundLike(String value) {
            addCriterion("background like", value, "background");
            return (Criteria) this;
        }

        public Criteria andBackgroundNotLike(String value) {
            addCriterion("background not like", value, "background");
            return (Criteria) this;
        }

        public Criteria andBackgroundIn(List<String> values) {
            addCriterion("background in", values, "background");
            return (Criteria) this;
        }

        public Criteria andBackgroundNotIn(List<String> values) {
            addCriterion("background not in", values, "background");
            return (Criteria) this;
        }

        public Criteria andBackgroundBetween(String value1, String value2) {
            addCriterion("background between", value1, value2, "background");
            return (Criteria) this;
        }

        public Criteria andBackgroundNotBetween(String value1, String value2) {
            addCriterion("background not between", value1, value2, "background");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNull() {
            addCriterion("description is null");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNotNull() {
            addCriterion("description is not null");
            return (Criteria) this;
        }

        public Criteria andDescriptionEqualTo(String value) {
            addCriterion("description =", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotEqualTo(String value) {
            addCriterion("description <>", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThan(String value) {
            addCriterion("description >", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("description >=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThan(String value) {
            addCriterion("description <", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThanOrEqualTo(String value) {
            addCriterion("description <=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLike(String value) {
            addCriterion("description like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotLike(String value) {
            addCriterion("description not like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionIn(List<String> values) {
            addCriterion("description in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotIn(List<String> values) {
            addCriterion("description not in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionBetween(String value1, String value2) {
            addCriterion("description between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotBetween(String value1, String value2) {
            addCriterion("description not between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andLinksizeIsNull() {
            addCriterion("linksize is null");
            return (Criteria) this;
        }

        public Criteria andLinksizeIsNotNull() {
            addCriterion("linksize is not null");
            return (Criteria) this;
        }

        public Criteria andLinksizeEqualTo(Integer value) {
            addCriterion("linksize =", value, "linksize");
            return (Criteria) this;
        }

        public Criteria andLinksizeNotEqualTo(Integer value) {
            addCriterion("linksize <>", value, "linksize");
            return (Criteria) this;
        }

        public Criteria andLinksizeGreaterThan(Integer value) {
            addCriterion("linksize >", value, "linksize");
            return (Criteria) this;
        }

        public Criteria andLinksizeGreaterThanOrEqualTo(Integer value) {
            addCriterion("linksize >=", value, "linksize");
            return (Criteria) this;
        }

        public Criteria andLinksizeLessThan(Integer value) {
            addCriterion("linksize <", value, "linksize");
            return (Criteria) this;
        }

        public Criteria andLinksizeLessThanOrEqualTo(Integer value) {
            addCriterion("linksize <=", value, "linksize");
            return (Criteria) this;
        }

        public Criteria andLinksizeIn(List<Integer> values) {
            addCriterion("linksize in", values, "linksize");
            return (Criteria) this;
        }

        public Criteria andLinksizeNotIn(List<Integer> values) {
            addCriterion("linksize not in", values, "linksize");
            return (Criteria) this;
        }

        public Criteria andLinksizeBetween(Integer value1, Integer value2) {
            addCriterion("linksize between", value1, value2, "linksize");
            return (Criteria) this;
        }

        public Criteria andLinksizeNotBetween(Integer value1, Integer value2) {
            addCriterion("linksize not between", value1, value2, "linksize");
            return (Criteria) this;
        }

        public Criteria andTwocodeIsNull() {
            addCriterion("twocode is null");
            return (Criteria) this;
        }

        public Criteria andTwocodeIsNotNull() {
            addCriterion("twocode is not null");
            return (Criteria) this;
        }

        public Criteria andTwocodeEqualTo(String value) {
            addCriterion("twocode =", value, "twocode");
            return (Criteria) this;
        }

        public Criteria andTwocodeNotEqualTo(String value) {
            addCriterion("twocode <>", value, "twocode");
            return (Criteria) this;
        }

        public Criteria andTwocodeGreaterThan(String value) {
            addCriterion("twocode >", value, "twocode");
            return (Criteria) this;
        }

        public Criteria andTwocodeGreaterThanOrEqualTo(String value) {
            addCriterion("twocode >=", value, "twocode");
            return (Criteria) this;
        }

        public Criteria andTwocodeLessThan(String value) {
            addCriterion("twocode <", value, "twocode");
            return (Criteria) this;
        }

        public Criteria andTwocodeLessThanOrEqualTo(String value) {
            addCriterion("twocode <=", value, "twocode");
            return (Criteria) this;
        }

        public Criteria andTwocodeLike(String value) {
            addCriterion("twocode like", value, "twocode");
            return (Criteria) this;
        }

        public Criteria andTwocodeNotLike(String value) {
            addCriterion("twocode not like", value, "twocode");
            return (Criteria) this;
        }

        public Criteria andTwocodeIn(List<String> values) {
            addCriterion("twocode in", values, "twocode");
            return (Criteria) this;
        }

        public Criteria andTwocodeNotIn(List<String> values) {
            addCriterion("twocode not in", values, "twocode");
            return (Criteria) this;
        }

        public Criteria andTwocodeBetween(String value1, String value2) {
            addCriterion("twocode between", value1, value2, "twocode");
            return (Criteria) this;
        }

        public Criteria andTwocodeNotBetween(String value1, String value2) {
            addCriterion("twocode not between", value1, value2, "twocode");
            return (Criteria) this;
        }

        //---
        public Criteria andStyleIntIsNull() {
            addCriterion("styleInt is null");
            return (Criteria) this;
        }

        public Criteria andStyleIntIsNotNull() {
            addCriterion("styleInt is not null");
            return (Criteria) this;
        }

        public Criteria andStyleIntEqualTo(Integer value) {
            addCriterion("styleInt =", value, "styleInt");
            return (Criteria) this;
        }

        public Criteria andStyleInteNotEqualTo(Integer value) {
            addCriterion("styleInt <>", value, "styleInt");
            return (Criteria) this;
        }

        public Criteria andStyleIntGreaterThan(Integer value) {
            addCriterion("styleInt >", value, "styleInt");
            return (Criteria) this;
        }

        public Criteria andStyleIntGreaterThanOrEqualTo(Integer value) {
            addCriterion("styleInt >=", value, "styleInt");
            return (Criteria) this;
        }

        public Criteria andStyleIntLessThan(Integer value) {
            addCriterion("styleInt <", value, "styleInt");
            return (Criteria) this;
        }

        public Criteria andStyleIntLessThanOrEqualTo(Integer value) {
            addCriterion("styleInt <=", value, "styleInt");
            return (Criteria) this;
        }

        public Criteria andStyleIntIn(List<Integer> values) {
            addCriterion("styleInt in", values, "styleInt");
            return (Criteria) this;
        }

        public Criteria andStyleIntNotIn(List<Integer> values) {
            addCriterion("styleInt not in", values, "styleInt");
            return (Criteria) this;
        }

        public Criteria andStyleIntBetween(Integer value1, Integer value2) {
            addCriterion("styleInt between", value1, value2, "styleInt");
            return (Criteria) this;
        }

        public Criteria andStyleIntNotBetween(Integer value1, Integer value2) {
            addCriterion("styleInt not between", value1, value2, "styleInt");
            return (Criteria) this;
        }
        //
        public Criteria andIsRecommendIsNull() {
            addCriterion("isRecommend is null");
            return (Criteria) this;
        }

        public Criteria andIsRecommendIsNotNull() {
            addCriterion("isRecommend is not null");
            return (Criteria) this;
        }

        public Criteria andIsRecommendEqualTo(Integer value) {
            addCriterion("isRecommend =", value, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendNotEqualTo(Integer value) {
            addCriterion("isRecommend <>", value, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendGreaterThan(Integer value) {
            addCriterion("isRecommend >", value, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendGreaterThanOrEqualTo(Integer value) {
            addCriterion("isRecommend >=", value, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendLessThan(Integer value) {
            addCriterion("isRecommend <", value, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andvLessThanOrEqualTo(Integer value) {
            addCriterion("isRecommend <=", value, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendIn(List<Integer> values) {
            addCriterion("isRecommend in", values, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendNotIn(List<Integer> values) {
            addCriterion("isRecommend not in", values, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendBetween(Integer value1, Integer value2) {
            addCriterion("isRecommend between", value1, value2, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendNotBetween(Integer value1, Integer value2) {
            addCriterion("isRecommend not between", value1, value2, "isRecommend");
            return (Criteria) this;
        }
        
        //
        public Criteria andViewCountIsNull() {
            addCriterion("viewCount is null");
            return (Criteria) this;
        }

        public Criteria andViewCountIsNotNull() {
            addCriterion("viewCount is not null");
            return (Criteria) this;
        }

        public Criteria andViewCountEqualTo(Integer value) {
            addCriterion("viewCount =", value, "viewCount");
            return (Criteria) this;
        }

        public Criteria andViewCountNotEqualTo(Integer value) {
            addCriterion("viewCount <>", value, "viewCount");
            return (Criteria) this;
        }

        public Criteria andViewCountGreaterThan(Integer value) {
            addCriterion("viewCount >", value, "viewCount");
            return (Criteria) this;
        }

        public Criteria andViewCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("viewCount >=", value, "viewCount");
            return (Criteria) this;
        }

        public Criteria andViewCountLessThan(Integer value) {
            addCriterion("viewCount <", value, "viewCount");
            return (Criteria) this;
        }

        public Criteria andViewCountLessThanOrEqualTo(Integer value) {
            addCriterion("viewCount <=", value, "viewCount");
            return (Criteria) this;
        }

        public Criteria andViewCountIn(List<Integer> values) {
            addCriterion("viewCount in", values, "viewCount");
            return (Criteria) this;
        }

        public Criteria andViewCountNotIn(List<Integer> values) {
            addCriterion("viewCount not in", values, "viewCount");
            return (Criteria) this;
        }

        public Criteria andViewCountBetween(Integer value1, Integer value2) {
            addCriterion("viewCount between", value1, value2, "viewCount");
            return (Criteria) this;
        }

        public Criteria andViewCountNotBetween(Integer value1, Integer value2) {
            addCriterion("viewCount not between", value1, value2, "viewCount");
            return (Criteria) this;
        }
        
      //---
        public Criteria andCardXIsNull() {
            addCriterion("cardX is null");
            return (Criteria) this;
        }

        public Criteria andCardXIsNotNull() {
            addCriterion("cardX is not null");
            return (Criteria) this;
        }

        public Criteria andCardXEqualTo(Integer value) {
            addCriterion("cardX =", value, "cardX");
            return (Criteria) this;
        }

        public Criteria andCardXNotEqualTo(Integer value) {
            addCriterion("cardX <>", value, "cardX");
            return (Criteria) this;
        }

        public Criteria andCardXGreaterThan(Integer value) {
            addCriterion("cardX >", value, "cardX");
            return (Criteria) this;
        }

        public Criteria andCardXGreaterThanOrEqualTo(Integer value) {
            addCriterion("cardX >=", value, "cardX");
            return (Criteria) this;
        }

        public Criteria andCardXLessThan(Integer value) {
            addCriterion("cardX <", value, "cardX");
            return (Criteria) this;
        }

        public Criteria andCardXLessThanOrEqualTo(Integer value) {
            addCriterion("cardX <=", value, "cardX");
            return (Criteria) this;
        }

        public Criteria andCardXIn(List<Integer> values) {
            addCriterion("cardX in", values, "cardX");
            return (Criteria) this;
        }

        public Criteria andCardXNotIn(List<Integer> values) {
            addCriterion("cardX not in", values, "cardX");
            return (Criteria) this;
        }

        public Criteria andCardXBetween(Integer value1, Integer value2) {
            addCriterion("cardX between", value1, value2, "cardX");
            return (Criteria) this;
        }

        public Criteria andCardXNotBetween(Integer value1, Integer value2) {
            addCriterion("cardX not between", value1, value2, "cardX");
            return (Criteria) this;
        }
        //---
        public Criteria andCardYIsNull() {
            addCriterion("cardY is null");
            return (Criteria) this;
        }

        public Criteria andCardYIsNotNull() {
            addCriterion("cardY is not null");
            return (Criteria) this;
        }

        public Criteria andCardYEqualTo(Integer value) {
            addCriterion("cardY =", value, "cardY");
            return (Criteria) this;
        }

        public Criteria andCardYNotEqualTo(Integer value) {
            addCriterion("cardY <>", value, "cardY");
            return (Criteria) this;
        }

        public Criteria andCardYGreaterThan(Integer value) {
            addCriterion("cardY >", value, "cardY");
            return (Criteria) this;
        }

        public Criteria andCardYGreaterThanOrEqualTo(Integer value) {
            addCriterion("cardY >=", value, "cardY");
            return (Criteria) this;
        }

        public Criteria andCardYLessThan(Integer value) {
            addCriterion("cardY <", value, "cardY");
            return (Criteria) this;
        }

        public Criteria andCardYLessThanOrEqualTo(Integer value) {
            addCriterion("cardY <=", value, "cardY");
            return (Criteria) this;
        }

        public Criteria andCardYIn(List<Integer> values) {
            addCriterion("cardY in", values, "cardY");
            return (Criteria) this;
        }

        public Criteria andCardYNotIn(List<Integer> values) {
            addCriterion("cardY not in", values, "cardY");
            return (Criteria) this;
        }

        public Criteria andCardYBetween(Integer value1, Integer value2) {
            addCriterion("cardY between", value1, value2, "cardY");
            return (Criteria) this;
        }

        public Criteria andCardYNotBetween(Integer value1, Integer value2) {
            addCriterion("cardY not between", value1, value2, "cardY");
            return (Criteria) this;
        }
        
      //---
        public Criteria andViewXIsNull() {
            addCriterion("viewX is null");
            return (Criteria) this;
        }

        public Criteria andViewXIsNotNull() {
            addCriterion("viewX is not null");
            return (Criteria) this;
        }

        public Criteria andViewXEqualTo(Integer value) {
            addCriterion("viewX =", value, "viewX");
            return (Criteria) this;
        }

        public Criteria andViewXNotEqualTo(Integer value) {
            addCriterion("viewX <>", value, "viewX");
            return (Criteria) this;
        }

        public Criteria andViewXGreaterThan(Integer value) {
            addCriterion("viewX >", value, "viewX");
            return (Criteria) this;
        }

        public Criteria andViewXGreaterThanOrEqualTo(Integer value) {
            addCriterion("viewX >=", value, "viewX");
            return (Criteria) this;
        }

        public Criteria andViewXLessThan(Integer value) {
            addCriterion("viewX <", value, "viewX");
            return (Criteria) this;
        }

        public Criteria andViewXLessThanOrEqualTo(Integer value) {
            addCriterion("viewX <=", value, "viewX");
            return (Criteria) this;
        }

        public Criteria andViewXIn(List<Integer> values) {
            addCriterion("viewX in", values, "viewX");
            return (Criteria) this;
        }

        public Criteria andViewXNotIn(List<Integer> values) {
            addCriterion("viewX not in", values, "viewX");
            return (Criteria) this;
        }

        public Criteria andViewXBetween(Integer value1, Integer value2) {
            addCriterion("viewX between", value1, value2, "viewX");
            return (Criteria) this;
        }

        public Criteria andViewXNotBetween(Integer value1, Integer value2) {
            addCriterion("viewX not between", value1, value2, "viewX");
            return (Criteria) this;
        }
        
        //---
        public Criteria andViewYIsNull() {
            addCriterion("viewY is null");
            return (Criteria) this;
        }

        public Criteria andViewYIsNotNull() {
            addCriterion("viewY is not null");
            return (Criteria) this;
        }

        public Criteria andViewYEqualTo(Integer value) {
            addCriterion("viewY =", value, "viewY");
            return (Criteria) this;
        }

        public Criteria andViewYNotEqualTo(Integer value) {
            addCriterion("viewY <>", value, "viewY");
            return (Criteria) this;
        }

        public Criteria andViewYGreaterThan(Integer value) {
            addCriterion("viewY >", value, "viewY");
            return (Criteria) this;
        }

        public Criteria andViewYGreaterThanOrEqualTo(Integer value) {
            addCriterion("viewY >=", value, "viewY");
            return (Criteria) this;
        }

        public Criteria andViewYLessThan(Integer value) {
            addCriterion("viewY <", value, "viewY");
            return (Criteria) this;
        }

        public Criteria andViewYLessThanOrEqualTo(Integer value) {
            addCriterion("viewY <=", value, "viewY");
            return (Criteria) this;
        }

        public Criteria andViewYIn(List<Integer> values) {
            addCriterion("viewY in", values, "viewY");
            return (Criteria) this;
        }

        public Criteria andViewYNotIn(List<Integer> values) {
            addCriterion("viewY not in", values, "viewY");
            return (Criteria) this;
        }

        public Criteria andViewYBetween(Integer value1, Integer value2) {
            addCriterion("viewY between", value1, value2, "viewY");
            return (Criteria) this;
        }

        public Criteria andViewYNotBetween(Integer value1, Integer value2) {
            addCriterion("viewY not between", value1, value2, "viewY");
            return (Criteria) this;
        }
        
        public Criteria andCtimeIsNull() {
            addCriterion("ctime is null");
            return (Criteria) this;
        }

        public Criteria andCtimeIsNotNull() {
            addCriterion("ctime is not null");
            return (Criteria) this;
        }

        public Criteria andCtimeEqualTo(Date value) {
            addCriterion("ctime =", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotEqualTo(Date value) {
            addCriterion("ctime <>", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeGreaterThan(Date value) {
            addCriterion("ctime >", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("ctime >=", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeLessThan(Date value) {
            addCriterion("ctime <", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeLessThanOrEqualTo(Date value) {
            addCriterion("ctime <=", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeIn(List<Date> values) {
            addCriterion("ctime in", values, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotIn(List<Date> values) {
            addCriterion("ctime not in", values, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeBetween(Date value1, Date value2) {
            addCriterion("ctime between", value1, value2, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotBetween(Date value1, Date value2) {
            addCriterion("ctime not between", value1, value2, "ctime");
            return (Criteria) this;
        }

        public Criteria andUtimeIsNull() {
            addCriterion("utime is null");
            return (Criteria) this;
        }

        public Criteria andUtimeIsNotNull() {
            addCriterion("utime is not null");
            return (Criteria) this;
        }

        public Criteria andUtimeEqualTo(Date value) {
            addCriterion("utime =", value, "utime");
            return (Criteria) this;
        }

        public Criteria andUtimeNotEqualTo(Date value) {
            addCriterion("utime <>", value, "utime");
            return (Criteria) this;
        }

        public Criteria andUtimeGreaterThan(Date value) {
            addCriterion("utime >", value, "utime");
            return (Criteria) this;
        }

        public Criteria andUtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("utime >=", value, "utime");
            return (Criteria) this;
        }

        public Criteria andUtimeLessThan(Date value) {
            addCriterion("utime <", value, "utime");
            return (Criteria) this;
        }

        public Criteria andUtimeLessThanOrEqualTo(Date value) {
            addCriterion("utime <=", value, "utime");
            return (Criteria) this;
        }

        public Criteria andUtimeIn(List<Date> values) {
            addCriterion("utime in", values, "utime");
            return (Criteria) this;
        }

        public Criteria andUtimeNotIn(List<Date> values) {
            addCriterion("utime not in", values, "utime");
            return (Criteria) this;
        }

        public Criteria andUtimeBetween(Date value1, Date value2) {
            addCriterion("utime between", value1, value2, "utime");
            return (Criteria) this;
        }

        public Criteria andUtimeNotBetween(Date value1, Date value2) {
            addCriterion("utime not between", value1, value2, "utime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}